package com.ty.service.impl;

import com.ty.bean.User;
import com.ty.dao.BaseUserDao;
import com.ty.dao.impl.BaseUserDaoImpl;
import com.ty.service.BaseUserService;

import java.util.List;
import java.util.Map;

/**
 * @author 田野
 */
public class BaseUserServiceImpl implements BaseUserService {

    private BaseUserDao userDao = new BaseUserDaoImpl();

    /**
     * 用于查询快递员总人数(size)以及日注册量(day_reg)
     *
     * @return
     */
    @Override
    public Map<String, Integer> console() {
        List<Integer> console = userDao.console();
        Map<String, Integer> data = null;

        if (console != null && console.size() > 0){
            data = Map.of("users", console.get(0), "day_reg", console.get(1));
        }
        return data;
    }

    /**
     * 用于分页查询数据库中的所有快递员信息
     *
     * @param limit      true表示开启分页查询(默认) false 表示查询所有快递员
     * @param offset     表示 SQL 语句起始索引
     * @param pageNumber 表示页查询快递员数量
     * @return List<Courier> 快递员集合
     */
    @Override
    public List<User> findAll(boolean limit, int offset, int pageNumber) {
        return userDao.findAll(limit, offset, pageNumber);
    }

    /**
     * 根据快递员编号查询快递员信息
     *
     * @param id 快递员编号
     * @return Courier
     */
    @Override
    public User findById(int id) {
        return userDao.findById(id);
    }

    /**
     * 根据手机号码查询快递员信息
     *
     * @param phone 手机号码
     * @return Courier
     */
    @Override
    public User findByPhone(String phone) {
        return userDao.findByPhone(phone);
    }

    /**
     * 新增快递员
     *
     * @param user
     * @return
     */
    @Override
    public boolean insert(User user) {
        return userDao.insert(user);
    }

    /**
     * 根据id修改快递员信息
     *
     * @param id
     * @param user
     * @return
     */
    @Override
    public boolean update(int id, User user) {
        return userDao.update(id,user);
    }

    /**
     * 根据电话号码删除快递员信息
     *
     * @param id
     * @return
     */
    @Override
    public boolean delete(int id) {
        return userDao.delete(id);
    }
}
